package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

func main() {
	//3、判断从键盘输入，字母数字字符是否为回文,如果将大写字符转化为小写字符，并移除多有非字母数字字符后，
	//正向读和反向读都一样，那就是回文。 无限次输入，按q退出
	//A,bc?: 1d,1C*ba  -- > abc1d1cba

	var start string
	for {
		fmt.Println("按任意键开始，退出按q")
		fmt.Scanln(&start)
		if start == "q" {
			break
		}
		fmt.Println("请输入字符串")
		inputReader := bufio.NewReader(os.Stdin)
		words, _ := inputReader.ReadString('\n')
		words2 := []byte(strings.ToLower(words))
		words3 := make([]string, 0)
		for _, value := range words2 {
			if (value >= 'a' && value <= 'z') || (value >= 'A' && value <= 'Z') || (value >= '0' && value <= '9') {
				words3 = append(words3, string(value))
			}
		}
		fmt.Print(words3)
		if start != "q" {
			for key, _ := range words3 {
				if words3[key] == words3[len(words3)-1-key] {
					fmt.Println("是回文")
					break
				} else {
					fmt.Println("不是回文")
					break
				}
			}
		} else {
			break
		}
	}
}
